package gti310.tp3.solver;

import java.util.LinkedList;

/**
 * La classe GraphList contient une liste chaînée de type Sommet. 
 * Elle a pour but de conserver les informations sur les connexions des sommets
 * et celles de ces derniers. 
 * 
 * @author Fredy A. Bonilla
 * @date 2014-11-11
 */
public class GraphList {
	
	private LinkedList<Sommet> listeSommet;
	
	/**
	 * Constructeur de la classe GraphList qui créé une nouvelle liste chaînée
	 * qui contiendras les connexions des sommets. 
	 */
	public GraphList(){
		listeSommet = new LinkedList<>();
	}
	
	/**
	 * Permet d'ajouter une connexion à la liste
	 * 
	 * @param c
	 */
	public void ajouter(Sommet c){
		listeSommet.add(c);
	}
	
	/**
	 * Retourne la connexion à l'index fournis en paramètre.
	 * 
	 * @param index
	 * @return the connection
	 */
	public Sommet getSommet(int index){
		return listeSommet.get(index);
	}
	
	/**
	 * Méthode retournant la liste des sommets. 
	 * @return listeSommet
	 */
	public LinkedList<Sommet> getGraph(){
		return listeSommet;
	}
	
	/**
	 * Retourne la taille de la liste
	 * 
	 * @return La taille
	 */
	public int getTaille(){
		return listeSommet.size();
	}

}
